while 迴圈
前面的for迴圈,有變數i扮演類似「計數器」的角色,我們對於迴圈應該循環幾次,是比較能掌握的。而這一節要介紹的「while迴圈」,可以用在循環次數不確定的情形。
while迴圈的語法看起來比for迴圈相對簡單。
while (繼續循環的條件) {
要重複執行的動作
}
while迴圈的組成只有一個條件判斷式,只要判斷為true,就會繼續循環,否則便離開迴圈。
下面用程式碼實作看看。
public static void main(String args[]) {
int apple = 5;
while(apple >=0) {
System.out.println("買了"+ apple + "顆蘋果");
apple--;
}
}
輸出結果為:
買了5顆蘋果
買了4顆蘋果
買了3顆蘋果
買了2顆蘋果
買了1顆蘋果
買了0顆蘋果
使用迴圈時要注意,在重複執行的動作,要有機會使得條件判斷為false,這樣才能離開迴圈。就像蘋果會沒有的時候。如果無限循環下去,這種狀況稱為「無窮迴圈」,程式流程永遠無法往下進行,被困在迴圈裡。
do while 迴圈
程式在執行到while迴圈時,就會馬上做條件判斷,判斷為true才進入迴圈內部。然而還有一種是無論如何都先執行一次內部的程式,之後才判斷是否繼續循環,那就是「do while迴圈」。
用一個情境來舉例:有個抽數字遊戲,可以不斷地抽1~10的數字,規定抽到1的話就停止,最後計算抽取的次數。用程式實作,可以寫成這個樣子。
int number = 0;
int times = 0;
do {
number = (int)(Math.random() * 10) +1;
System.out.println("抽到" + number + "號");
times ++;
}while(number !=5); {
System.out.println("抽了" + times + "次");
}
結果為
抽到8號
抽到1號
抽到1號
抽到4號
抽到1號
抽到10號
抽到5號
抽了7次